pyinstaller的使用解决no module named xxx(failed to execute script test)导出生成exe

您所在的位置:网站首页 pyinstaller no module named pyinstaller的使用解决no module named xxx(failed to execute script test)导出生成exe

pyinstaller的使用解决no module named xxx(failed to execute script test)导出生成exe

2023-03-15 16:05| 来源: 网络整理| 查看: 265

pyinstaller的基础使用,将python文件导出生成exe

pyinstaller解决no module named xxx(failed to execute script test)

问题先上图,本人自己写了一个操作mysql的界面系统,但是打包中出现了很多的问题,打包好的exe程序运行时报错如下,从网上搜索了很多方法都不管用,很多文章答案同出一辙没有实际操作性,就算解决了问题也只是运气原因,本文将记录本人遇见问题到解决问题的整个思路。

image.png

首先简单介绍下pyinstaller的基础使用,这里我使用如下命令安装:

pip3 install pyinstaller

pyinstaller -F *.py #打包成一个exe文件 pyinstaller -F -w *.py #打包好的exe文件,启动时不显示cmd命令行 pyinstaller -F -w *.py -p dir #导入路径 复制代码

起初我单纯的以为是环境没配好等问题,网上搜索解决方案也是五花八门,一一尝试都没有作用,于是开始自行摸索,首先是打包好运行时会闪退,我们将-w命令去掉,闪退的一瞬间截图命令行所出现的报错内容,可得知是mysqldb包没有搜索到。

image.png

之后从这个问题角度开始深入,是什么原因导致了mysqldb包没有导入,那只有一个可能,pyinstaller作为一个打包模块,并不会十分智能去加载所有模组,通过查看pyinstaller官方给出的各参数可以发现,其中有导入路径的参数,动了动小脑袋瓜子想到可行性,于时我便尝试找到mysqldb的路径,添加在-p命令之后。

参数详情见官网: pyinstaller.readthedocs.io/en/v3.3.1/u…

image.png

可惜可惜还是没成功,但是此时此刻我又想到了另一种可能性,在python中操作mysql的模组有很多,或许是mysqldb自己的原因导致了失败,于时我换成了pymysql模组,再次尝试,终于功夫不负有心人,我成功了!

在此查看pymysql模组所在目录

image.png

pyinstaller -F -w main.py -p C:\Users\22798\AppData\Local\Programs\Python\Python37\Lib\site-packages

image.png

打包所生成的exe文件自动存放在项目文件夹中的dist目录下

image.png

双击成功运行,成功实现pyinstaller打包

image.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3